package com.fdb.efp.nls.service.facade;


import com.fdb.efp.nls.service.vo.PrdInfoVO;
import com.fdb.efp.nls.service.vo.PtProductUserVO;
import com.fdb.efp.limit.service.vo.LmtPrdContVO;
import com.fdb.efp.nls.service.vo.WsApplyNotifyVO;
import com.fdb.efp.nls.service.vo.WsApproveackConfirmVO;

import java.math.BigDecimal;

/**
 * 需求编号:2019D0519
 * 问题编号:
 * 开发人员: caoxin
 * 创建日期:2019/7/17
 * 功能描述:为什么写这个类,除了聚合服务和nls中台其他中台不能相互依赖
 * 当我们需要将依赖几个服务的方法抽取时，需要相互依赖的问题
 * 所有此类为一个公共服务
 * 修改日期:2019/7/17
 * 修改描述:
 */
public interface NlsPublicService {
    /**
     * 获取浮动利率: <br>
     * 0.1:caoxin:2019/7/12 17:39: TODO: <br>
     * @author caoxin
     * @return
     * @since 2019/7/12 17:39
     * @date 2019/7/12 17:39
     * @version 0.1
     */
     BigDecimal getintRateRatio(String certCode, String certType, String lmtApplySeq);

     /**
      * 需求编号:2019D0519
      * 问题编号:
      * 开发人员: caoxin
      * 创建日期:2019/7/17
      * 功能描述:获取产品信息
      * 修改日期:2019/7/17
      * 修改描述:
      */
     PrdInfoVO getProInfo(String proId);
    /**
     * 需求编号:2019D0910
     * 问题编号:
     * 开发人员: caoxin
     * 创建日期:2019/8/8
     * 功能描述:
     * 修改日期:2019/8/8
     * 修改描述:
     */
     String getSysInfoOpenDay(String sysId);

     /**
      * 需求编号:2019D0910
      * 问题编号:
      * 开发人员: caoxin
      * 创建日期:2019/8/14
      * 功能描述:从redis中获取授信初审信息，如果没有则从数据库中获取
      * 修改日期:2019/8/14
      * 修改描述:
      */
    WsApplyNotifyVO getWsApplyNotify(String applyNo);

    /**
     * 需求编号:2019D0910
     * 问题编号:
     * 开发人员: caoxin
     * 创建日期:2019/8/19
     * 功能描述:获取终审审批信息
     * 修改日期:2019/8/19
     * 修改描述:
     */
    WsApproveackConfirmVO getWsApproveackConfirm(String applyNo);

    void sendSuccessMessage(String phone,String approveAmt);

    void sendFailMesage(String phone);

    void sendLmtActivatedMessage(String phone,String approveAmt);

    void sendMessageWithCusManagerInfo(String msgType, LmtPrdContVO lmtPrdContVO, PtProductUserVO ptProductUserVO, String phone);

    void sendPsdPreApproveMessage(String phone, String approveFlag, String approveAm);
}
